home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / udf_fs_sb.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  2KB  |  123 lines

  1. /*
  2.  * udf_fs_sb.h
  3.  * 
  4.  * This include file is for the Linux kernel/module.
  5.  *
  6.  * CONTACTS
  7.  *    E-mail regarding any portion of the Linux UDF file system should be
  8.  *    directed to the development team mailing list (run by majordomo):
  9.  *        linux_udf@hpesjro.fc.hp.com
  10.  *
  11.  * COPYRIGHT
  12.  *    This file is distributed under the terms of the GNU General Public
  13.  *    License (GPL). Copies of the GPL can be obtained from:
  14.  *        ftp://prep.ai.mit.edu/pub/gnu/GPL
  15.  *    Each contributing author retains all rights to their own work.
  16.  */
  17.  
  18. #ifndef _UDF_FS_SB_H
  19. #define _UDF_FS_SB_H 1
  20.  
  21. #include <asm/semaphore.h>
  22.  
  23. #pragma pack(1)
  24.  
  25. #define UDF_MAX_BLOCK_LOADED    8
  26.  
  27. #define UDF_TYPE1_MAP15            0x1511U
  28. #define UDF_VIRTUAL_MAP15        0x1512U
  29. #define UDF_VIRTUAL_MAP20        0x2012U
  30. #define UDF_SPARABLE_MAP15        0x1522U
  31.  
  32. struct udf_sparing_data
  33. {
  34.     __u16    s_packet_len;
  35.     struct buffer_head *s_spar_map[4];
  36. };
  37.  
  38. struct udf_virtual_data
  39. {
  40.     __u32    s_num_entries;
  41.     __u16    s_start_offset;
  42. };
  43.  
  44. struct udf_bitmap
  45. {
  46.     __u32            s_extLength;
  47.     __u32            s_extPosition;
  48.     __u16            s_nr_groups;
  49.     struct buffer_head     **s_block_bitmap;
  50. };
  51.  
  52. struct udf_part_map
  53. {
  54.     union
  55.     {
  56.         struct udf_bitmap    *s_bitmap;
  57.         struct inode        *s_table;
  58.     } s_uspace;
  59.     union
  60.     {
  61.         struct udf_bitmap    *s_bitmap;
  62.         struct inode        *s_table;
  63.     } s_fspace;
  64.     __u32    s_partition_root;
  65.     __u32    s_partition_len;
  66.     __u16    s_partition_type;
  67.     __u16    s_partition_num;
  68.     union
  69.     {
  70.         struct udf_sparing_data s_sparing;
  71.         struct udf_virtual_data s_virtual;
  72.     } s_type_specific;
  73.     __u32    (*s_partition_func)(struct super_block *, __u32, __u16, __u32);
  74.     __u16    s_volumeseqnum;
  75.     __u16    s_partition_flags;
  76. };
  77.  
  78. #pragma pack()
  79.  
  80. struct udf_sb_info
  81. {
  82.     struct udf_part_map    *s_partmaps;
  83.     __u8            s_volident[32];
  84.  
  85.     /* Overall info */
  86.     __u16            s_partitions;
  87.     __u16            s_partition;
  88.  
  89.     /* Sector headers */
  90.     __s32            s_session;
  91.     __u32            s_anchor[4];
  92.     __u32            s_lastblock;
  93.  
  94.     struct buffer_head    *s_lvidbh;
  95.  
  96.     /* Default permissions */
  97.     mode_t            s_umask;
  98.     gid_t            s_gid;
  99.     uid_t            s_uid;
  100.  
  101.     /* Root Info */
  102.     struct timespec        s_recordtime;
  103.  
  104.     /* Fileset Info */
  105.     __u16            s_serialnum;
  106.  
  107.     /* highest UDF revision we have recorded to this media */
  108.     __u16            s_udfrev;
  109.  
  110.     /* Miscellaneous flags */
  111.     __u32            s_flags;
  112.  
  113.     /* Encoding info */
  114.     struct nls_table    *s_nls_map;
  115.  
  116.     /* VAT inode */
  117.     struct inode        *s_vat;
  118.  
  119.     struct semaphore    s_alloc_sem;
  120. };
  121.  
  122. #endif /* _UDF_FS_SB_H */
  123.